cmake_minimum_required(VERSION 3.3 FATAL_ERROR)

project(Arc)

#set(VTK_DIR "/Users/dai/Qt/5.15.2/clang_64/lib/cmake/Qt5/lib/cmake/vtk-9.0")
set(VTK_DIR "/Users/dai/Work/vtk/VTK/VTK_MAKE_910/build/lib/cmake/vtk-9.0")


find_package(VTK COMPONENTS
        vtkCommonColor
        vtkCommonCore
        vtkCommonDataModel
        vtkInfovisLayout
        vtkInteractionStyle
        vtkRenderingContextOpenGL2
        vtkRenderingCore
        vtkRenderingFreeType
        vtkRenderingGL2PSOpenGL2
        vtkRenderingOpenGL2
        vtkViewsInfovis
        vtkFiltersCore
        vtkImagingCore
        vtkImagingSources
        vtkImagingHybrid
        vtkFiltersGeneral
        vtkFiltersGeometry
        vtkFiltersSources
        vtkIOGeometry
        vtkIOLegacy
        vtkFiltersExtraction

        vtkChartsCore
        vtkCommonColor
        vtkCommonCore
        vtkCommonDataModel
        vtkCommonTransforms
        vtkFiltersCore
        vtkFiltersGeneral
        vtkFiltersModeling
        vtkFiltersSources
        vtkInteractionStyle
        vtkInteractionWidgets
        vtkRenderingAnnotation
        vtkRenderingContextOpenGL2
        vtkRenderingCore
        vtkRenderingFreeType
        vtkRenderingGL2PSOpenGL2
        vtkRenderingOpenGL2
        vtkViewsInfovis
        vtkViewsContext2D
        vtkRenderingContext2D
        vtkIOInfovis
        vtkTestingRendering

        vtkIOImage
        vtkImagingColor
        vtkImagingCore
        vtkImagingGeneral
        vtkInteractionImage

        QUIET
        )

if (NOT VTK_FOUND)
    message("Skipping Arc: ${VTK_NOT_FOUND_MESSAGE}")
    return ()
endif()
message (STATUS "VTK_VERSION: ${VTK_VERSION}")
if (VTK_VERSION VERSION_LESS "8.90.0")
    # old system
    include(${VTK_USE_FILE})
    add_executable(Arc MACOSX_BUNDLE Arc.cxx)
    target_link_libraries(Arc PRIVATE ${VTK_LIBRARIES})
else ()
    # include all components
    add_executable(Arc MACOSX_BUNDLE Arc.cxx)
    target_link_libraries(Arc PRIVATE ${VTK_LIBRARIES})
    # vtk_module_autoinit is needed
    vtk_module_autoinit(
            TARGETS Arc
            MODULES ${VTK_LIBRARIES}
    )
endif ()